{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Surface"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import k3d\n",
    "import numpy as np\n",
    "\n",
    "Nx = 240\n",
    "Ny = 480\n",
    "xmin, xmax = -3, 3\n",
    "ymin, ymax = -0, 3\n",
    "\n",
    "x = np.linspace(xmin, xmax, Nx)\n",
    "y = np.linspace(ymin, ymax, Ny)\n",
    "x, y = np.meshgrid(x, y)\n",
    "\n",
    "heights = np.sin(x**2 + y**2).astype(np.float32)\n",
    "\n",
    "plot = k3d.plot()\n",
    "obj = k3d.surface(heights, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)\n",
    "plot += obj\n",
    "plot.display()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plot.camera = [2.93, -1.98, 4.33, 0, 1.5, 0, -0.37, 0.53, 0.76]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plot.objects[0].shininess = 500"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plot.objects[0].flat_shading = False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "obj.attribute = heights\n",
    "obj.color_range = [np.min(heights), np.max(heights)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "k3d.surface??"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  },
  "nbTranslate": {
   "displayLangs": [
    "en",
    "pl"
   ],
   "hotkey": "alt-t",
   "langInMainMenu": true,
   "sourceLang": "pl",
   "targetLang": "en",
   "useGoogleTranslate": true
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "04d0144bca474b9c87245043c91bcd5d": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.0.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "7b6cab933219400d8aafe3e3c1e1941f": {
      "buffers": [
       {
        "data": "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",
        "encoding": "base64",
        "path": [
         "heights",
         "buffer"
        ]
       },
       {
        "data": "AADAQAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAwD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPw==",
        "encoding": "base64",
        "path": [
         "model_matrix",
         "buffer"
        ]
       }
      ],
      "model_module": "k3d",
      "model_module_version": "^3.0.0",
      "model_name": "ObjectModel",
      "state": {
       "_model_module_version": "^3.0.0",
       "_view_count": null,
       "_view_module": null,
       "_view_module_version": "",
       "_view_name": null,
       "color": 255,
       "compression_level": 0,
       "flat_shading": false,
       "heights": {
        "buffer": {},
        "dtype": "float32",
        "shape": [
         60,
         30
        ]
       },
       "id": 127631432,
       "model_matrix": {
        "buffer": {},
        "dtype": "float32",
        "shape": [
         4,
         4
        ]
       },
       "type": "Surface",
       "visible": true,
       "wireframe": false
      }
     },
     "97ff25158dc74aefb1925335ae0fe9ee": {
      "model_module": "k3d",
      "model_module_version": "^3.0.0",
      "model_name": "PlotModel",
      "state": {
       "_backend_version": "2.4.13",
       "_dom_classes": [],
       "_model_module_version": "^3.0.0",
       "_view_count": null,
       "_view_module_version": "^3.0.0",
       "antialias": true,
       "background_color": 16777215,
       "camera": [
        2.06165563359676,
        -2.572304563184085,
        4.2676865877767005,
        0,
        1.5,
        -3.8743019104003906e-07,
        -0.4078401899136238,
        0.5054252001277009,
        0.7604023583387244
       ],
       "camera_auto_fit": true,
       "clipping_planes": [],
       "fps_meter": false,
       "grid": [
        -1,
        -1,
        -1,
        1,
        1,
        1
       ],
       "grid_auto_fit": true,
       "height": 512,
       "layout": "IPY_MODEL_abfe227f79b74049b89fffc0a1bd1196",
       "lighting": 1,
       "object_ids": [
        127631432
       ],
       "screenshot": "",
       "screenshot_scale": 2,
       "voxel_paint_color": 0
      }
     },
     "abfe227f79b74049b89fffc0a1bd1196": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.0.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "f42f0941acca4402b2ebb408ffa54d29": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "layout": "IPY_MODEL_04d0144bca474b9c87245043c91bcd5d",
       "outputs": [
        {
         "data": {
          "application/vnd.jupyter.widget-view+json": {
           "model_id": "97ff25158dc74aefb1925335ae0fe9ee",
           "version_major": 2,
           "version_minor": 0
          },
          "text/plain": "Plot(antialias=True, background_color=16777215, fps_meter=False, grid=[-1, -1, -1, 1, 1, 1], height=512, light…"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ]
      }
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
